QT自学过程记录(7 |
您所在的位置:网站首页 › qt5 download › QT自学过程记录(7 |
1 目录及资源索引
QT自学过程目录及资源索引 2 参考文章说明QT QMap介绍与使用 3 简介及时间复杂度比较QMap和QHash其实类似于C++中的Map和Hash类,只不过在QT中,加以封装。 Map:Map是一个很有用的数据结构。它以“键-值”的形式保存数据。在使用的时候,通过提供字符标示(键)即可得到想要的数据。这个“数据”即可以是一个字符串,也可以是任意对象,当然也包括自己定义的类对象。说明:map是以值传递的形式保存数据的。 Hash:QHash是一个在哈希表中存储键值对的数据结构。它的接口几乎与QMap相同,但是与QMap相比,它对K的模板类型有不同的要求,而且它提供了比QMap更快的查找功能。 QMap类和QHash类具有非常类似的功能,差别如下: QHash具有比QMap更快的查找速度; QHash以任意的顺序存储数据项,而QMap总是按照键Key顺序存储数据; QHash的键类型Key必须提供 operator == () 和一个全局的 qHash(Key) 函数,而QMap的键类型Key必须提供 operator < () 函数。 二者时间复杂度比较如下图:![]() QMap提供了一个从类型为Key的键到类型为T的值的映射。 5 QHash类QHash具有与QMap几乎完全相同的API。QHash维护着一张哈希表(Hash Table),哈希表的大小与QHash的数据项的数目相适应。 6 Java风格迭代器遍历容器 对于每一个容器类,Qt都提供了两种类型的Java风格迭代器数据类型,即只读访问和读写访问,具体分类如下图: |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |